// 初始化Form
function doOnFormInit(){
	$(editForm.getInput("paramValue")).attr("maxlength",250);
	$(editForm.getInput("defaultValue")).attr("maxlength",250);
	$(editForm.getInput("remark")).attr("maxlength",30);

	if(typeof editForm!='object') {
		$func.alert('初始化详细信息页面失败', 'red');
		return ;
	}

	//初始化下拉框
	var sysType = editForm.getCombo('sysType');
	sysType.addOption(parent.sysTypeComboDatas);
	sysType.setComboValue('');
	sysType.readonly(true);

	var bizModule = editForm.getCombo('bizModule');
	bizModule.addOption(parent.bizModuleComboData);
	bizModule.setComboValue('');
	bizModule.readonly(true);

	var dataType = editForm.getCombo('dataType');
	dataType.addOption(parent.dataTypeComboData);
	dataType.setComboValue('');
	dataType.readonly(true);

	//================================初始化数据=======================================
	if(editType!='edit') return;
 	if (!parent.oneSysParamInfo||!parent.oneSysParamInfo.id) return;
	editForm.setItemValue("id",parent.oneSysParamInfo.id);
	editForm.setItemValue("paramCode",escape2Html(parent.oneSysParamInfo.param_code));
	editForm.setItemValue("paramName",escape2Html(parent.oneSysParamInfo.param_name));
	editForm.setItemValue("sysType",parent.oneSysParamInfo.sys_type);
	editForm.setItemValue("bizModule",parent.oneSysParamInfo.biz_module);
	editForm.setItemValue("dataType",parent.oneSysParamInfo.data_type);
	editForm.setItemValue("status",parent.oneSysParamInfo.status);
	editForm.setItemValue("remark",escape2Html(parent.oneSysParamInfo.remark));
	var data_type = parent.oneSysParamInfo.data_type;
	var default_value = parent.oneSysParamInfo.default_value;
	var param_value = parent.oneSysParamInfo.param_value;
	if(data_type && (data_type == 'date' || data_type == 'datetime')){
		//时间类型
		var defaultValueTime = editForm.getCalendar('defaultValue');
		var paramValueTime = editForm.getCalendar('paramValue');
		editForm.setReadonly('defaultValue', true);
		editForm.setReadonly('paramValue', true);
		if(data_type == 'date'){
			defaultValueTime.setDateFormat("%Y-%m-%d");
			paramValueTime.setDateFormat("%Y-%m-%d");
		} else {
			defaultValueTime.setDateFormat("%Y-%m-%d %H:%i:%s");
			defaultValueTime.showTime();
			paramValueTime.setDateFormat("%Y-%m-%d %H:%i:%s");
			paramValueTime.showTime();
		}
		editForm.getInput('defaultValue').value=default_value?default_value:"";
		editForm.getInput('paramValue').value=param_value?param_value:"";
	} else {
		editForm.setItemValue("defaultValue",escape2Html(parent.oneSysParamInfo.default_value));
		editForm.setItemValue("paramValue",escape2Html(parent.oneSysParamInfo.param_value));
	}
}

//初始化按钮form
function doOnButtonForm(){
	if (typeof(buttonForm) == "object"){
		buttonForm.attachEvent("onButtonClick", function(name, command) {
			switch(command) {
				case 'save':doSave();break;
				case 'cancle':doCancle();break;
			}
		});
	}
}

//校验新增/编辑form表单
function checkForm(){
	var paramCode = $.trim(editForm.getItemValue("paramCode"));
	if(!paramCode||paramCode.length==0){
		$func.alert('参数ID不能为空', 'red');
		return false;
	}
	var paramName = $.trim(editForm.getItemValue("paramName"));
	if(!paramName||paramName.length==0){
		$func.alert('参数名称不能为空', 'red');
		return false;
	}
	var sysType = $.trim(editForm.getItemValue("sysType"));
	if(!sysType||sysType.length==0){
		$func.alert('作用业务不能为空', 'red');
		return false;
	}
	var bizModule = $.trim(editForm.getItemValue("bizModule"));
	if(!bizModule||bizModule.length==0){
		$func.alert('作用模块不能为空', 'red');
		return false;
	}
	var dataType = $.trim(editForm.getItemValue("dataType"));
	if(!dataType||dataType.length==0){
		$func.alert('参数类型不能为空', 'red');
		return false;
	}
	var paramValue = $.trim(editForm.getItemValue("paramValue"));
	var defaultValue = $.trim(editForm.getItemValue("defaultValue"));
	if(!(dataType && (dataType == 'date' || dataType == 'datetime'))) {
		if (!defaultValue || defaultValue.length == 0) {
			$func.alert('默认值不能为空', 'red');
			return false;
		}

		//整数型
		if(dataType && dataType == 'int'){
			if((defaultValue||defaultValue.length>0) && !isNumber(defaultValue)){
				$func.alert('默认值不为整数', 'red');
				return false;
			}
			if((paramValue||paramValue.length>0) && !isNumber(paramValue) ){
				$func.alert('设定值不为整数', 'red');
				return false;
			}
		}

		//浮点型
		if(dataType && dataType == 'float'){
			if((defaultValue||defaultValue.length>0) && !isfloat(defaultValue)){
				$func.alert('默认值不为浮点数', 'red');
				return false;
			}
			if((paramValue||paramValue.length>0) && !isfloat(paramValue) ){
				$func.alert('设定值不为浮点数', 'red');
				return false;
			}
		}

	}
	/*var paramValue = $.trim(editForm.getItemValue("paramValue"));
	if(!paramValue||paramValue.length==0){
		$func.alert('设定值不能为空', 'red');
		return false;
	}*/
	return true;
}

//保存动作
function doSave(){
	if(!checkForm())return;
	var dataType = $.trim(editForm.getItemValue("dataType"));
	var data = editForm.getFormData();
	if(dataType && (dataType == 'date' || dataType == 'datetime')){
		//时间类型
		var defaultValue = editForm.getInput('defaultValue').value;
		var paramValue = editForm.getInput('paramValue').value;
		if(!defaultValue||defaultValue.length==0){
			$func.alert('默认值不能为空', 'red');
			return false;
		}
		data.defaultValue = editForm.getInput('defaultValue').value;
		data.paramValue = editForm.getInput('paramValue').value;
	}
 	var formData = JSON.stringify(data);
 	var url = basePath+'param/editSysParam';
 	// if(editType=='edit') url=basePath+'sysFunction/editSysFunct';
	$.ajax({
		url : url,
		type : "post",
		dataType : "json",
		contentType:"application/json",
		data : formData,
		success : function (data) {
			if(!data){
				$func.alert('保存出错','red');
				doCancle();
				return false;
			}
			if(!data.result){
				$func.alert(data.message?data.message:'保存出错','red');
				return false;
			}
			$func.alert("保存成功！", "green");
			parent.doRefresh();
			doCancle();
		},
		error:function(xhr, textStatus, statusText){
			$func.alert('保存请求失败:'+textStatus+":"+statusText, "red");
		}
	});
}

//验证数字(整数、浮点数都可以通过)
function isfloat(oNum){
	if(!oNum) return false;
	var strP=/^\d+(\.\d+)?$/;
	if(!strP.test(oNum)) return false;
	try{
		if(parseFloat(oNum)!=oNum) return false;
	}catch(ex){
		return false;
	}
	return true;
}

//验证正整数
function isNumber(oNum){
	if(!oNum) return false;
	var strP=/^\d+$/; //正整数
	if(!strP.test(oNum)) return false;
	return true;
}

//取消动作
function doCancle(){
	parent.editSysParamWin.close();
}